//
//	MCActionInfoActionList.swift
//	Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport

import Foundation 
import ObjectMapper


class MCActionInfoActionList : NSObject, NSCoding, Mappable{

	var actionAttentionList : [MCActionInfoActionAttentionList]?
	var actionDetailList : [MCActionInfoActionDetailList]?
	var actionDetailUrl : String?
	var actionDirection : Int?
	var actionLabel : String?
	var actionLevel : Int?
	var actionList : [MCActionInfoActionList]?
	var actionStatus : Int?
	var actionStep : String?
	var actionType : Int?
	var benefit : String?
	var breatheType : String?
	var createTime : String?
	var createUser : Int?
	var enName : String?
	var exerciseMuscle : String?
	var exercisePosition : String?
	var exerciseRate : String?
	var firstLetterUpper : String?
	var id : String?
	var instrumentIds : String?
	var instrumentList : [MCActionInfoInstrumentList]?
	var isDeleted : Int?
	var previewUrl : String?
	var sort : Int?
	var status : Int?
	var supplement : String?
	var updateTime : String?
	var updateUser : Int?
	var version : Int?
	var zhName : String?


	class func newInstance(map: Map) -> Mappable?{
		return MCActionInfoActionList()
	}
	required init?(map: Map){}
	private override init(){}

	func mapping(map: Map)
	{
		actionAttentionList <- map["actionAttentionList"]
		actionDetailList <- map["actionDetailList"]
		actionDetailUrl <- map["actionDetailUrl"]
		actionDirection <- map["actionDirection"]
		actionLabel <- map["actionLabel"]
		actionLevel <- map["actionLevel"]
		actionList <- map["actionList"]
		actionStatus <- map["actionStatus"]
		actionStep <- map["actionStep"]
		actionType <- map["actionType"]
		benefit <- map["benefit"]
		breatheType <- map["breatheType"]
		createTime <- map["createTime"]
		createUser <- map["createUser"]
		enName <- map["enName"]
		exerciseMuscle <- map["exerciseMuscle"]
		exercisePosition <- map["exercisePosition"]
		exerciseRate <- map["exerciseRate"]
		firstLetterUpper <- map["firstLetterUpper"]
		id <- map["id"]
		instrumentIds <- map["instrumentIds"]
		instrumentList <- map["instrumentList"]
		isDeleted <- map["isDeleted"]
		previewUrl <- map["previewUrl"]
		sort <- map["sort"]
		status <- map["status"]
		supplement <- map["supplement"]
		updateTime <- map["updateTime"]
		updateUser <- map["updateUser"]
		version <- map["version"]
		zhName <- map["zhName"]
		
	}

    /**
    * NSCoding required initializer.
    * Fills the data from the passed decoder
    */
    @objc required init(coder aDecoder: NSCoder)
	{
         actionAttentionList = aDecoder.decodeObject(forKey: "actionAttentionList") as? [MCActionInfoActionAttentionList]
         actionDetailList = aDecoder.decodeObject(forKey: "actionDetailList") as? [MCActionInfoActionDetailList]
         actionDetailUrl = aDecoder.decodeObject(forKey: "actionDetailUrl") as? String
         actionDirection = aDecoder.decodeObject(forKey: "actionDirection") as? Int
         actionLabel = aDecoder.decodeObject(forKey: "actionLabel") as? String
         actionLevel = aDecoder.decodeObject(forKey: "actionLevel") as? Int
         actionList = aDecoder.decodeObject(forKey: "actionList") as? [MCActionInfoActionList]
         actionStatus = aDecoder.decodeObject(forKey: "actionStatus") as? Int
         actionStep = aDecoder.decodeObject(forKey: "actionStep") as? String
         actionType = aDecoder.decodeObject(forKey: "actionType") as? Int
         benefit = aDecoder.decodeObject(forKey: "benefit") as? String
         breatheType = aDecoder.decodeObject(forKey: "breatheType") as? String
         createTime = aDecoder.decodeObject(forKey: "createTime") as? String
         createUser = aDecoder.decodeObject(forKey: "createUser") as? Int
         enName = aDecoder.decodeObject(forKey: "enName") as? String
         exerciseMuscle = aDecoder.decodeObject(forKey: "exerciseMuscle") as? String
         exercisePosition = aDecoder.decodeObject(forKey: "exercisePosition") as? String
         exerciseRate = aDecoder.decodeObject(forKey: "exerciseRate") as? String
         firstLetterUpper = aDecoder.decodeObject(forKey: "firstLetterUpper") as? String
         id = aDecoder.decodeObject(forKey: "id") as? String
         instrumentIds = aDecoder.decodeObject(forKey: "instrumentIds") as? String
         instrumentList = aDecoder.decodeObject(forKey: "instrumentList") as? [MCActionInfoInstrumentList]
         isDeleted = aDecoder.decodeObject(forKey: "isDeleted") as? Int
         previewUrl = aDecoder.decodeObject(forKey: "previewUrl") as? String
         sort = aDecoder.decodeObject(forKey: "sort") as? Int
         status = aDecoder.decodeObject(forKey: "status") as? Int
         supplement = aDecoder.decodeObject(forKey: "supplement") as? String
         updateTime = aDecoder.decodeObject(forKey: "updateTime") as? String
         updateUser = aDecoder.decodeObject(forKey: "updateUser") as? Int
         version = aDecoder.decodeObject(forKey: "version") as? Int
         zhName = aDecoder.decodeObject(forKey: "zhName") as? String

	}

    /**
    * NSCoding required method.
    * Encodes mode properties into the decoder
    */
    @objc func encode(with aCoder: NSCoder)
	{
		if actionAttentionList != nil{
			aCoder.encode(actionAttentionList, forKey: "actionAttentionList")
		}
		if actionDetailList != nil{
			aCoder.encode(actionDetailList, forKey: "actionDetailList")
		}
		if actionDetailUrl != nil{
			aCoder.encode(actionDetailUrl, forKey: "actionDetailUrl")
		}
		if actionDirection != nil{
			aCoder.encode(actionDirection, forKey: "actionDirection")
		}
		if actionLabel != nil{
			aCoder.encode(actionLabel, forKey: "actionLabel")
		}
		if actionLevel != nil{
			aCoder.encode(actionLevel, forKey: "actionLevel")
		}
		if actionList != nil{
			aCoder.encode(actionList, forKey: "actionList")
		}
		if actionStatus != nil{
			aCoder.encode(actionStatus, forKey: "actionStatus")
		}
		if actionStep != nil{
			aCoder.encode(actionStep, forKey: "actionStep")
		}
		if actionType != nil{
			aCoder.encode(actionType, forKey: "actionType")
		}
		if benefit != nil{
			aCoder.encode(benefit, forKey: "benefit")
		}
		if breatheType != nil{
			aCoder.encode(breatheType, forKey: "breatheType")
		}
		if createTime != nil{
			aCoder.encode(createTime, forKey: "createTime")
		}
		if createUser != nil{
			aCoder.encode(createUser, forKey: "createUser")
		}
		if enName != nil{
			aCoder.encode(enName, forKey: "enName")
		}
		if exerciseMuscle != nil{
			aCoder.encode(exerciseMuscle, forKey: "exerciseMuscle")
		}
		if exercisePosition != nil{
			aCoder.encode(exercisePosition, forKey: "exercisePosition")
		}
		if exerciseRate != nil{
			aCoder.encode(exerciseRate, forKey: "exerciseRate")
		}
		if firstLetterUpper != nil{
			aCoder.encode(firstLetterUpper, forKey: "firstLetterUpper")
		}
		if id != nil{
			aCoder.encode(id, forKey: "id")
		}
		if instrumentIds != nil{
			aCoder.encode(instrumentIds, forKey: "instrumentIds")
		}
		if instrumentList != nil{
			aCoder.encode(instrumentList, forKey: "instrumentList")
		}
		if isDeleted != nil{
			aCoder.encode(isDeleted, forKey: "isDeleted")
		}
		if previewUrl != nil{
			aCoder.encode(previewUrl, forKey: "previewUrl")
		}
		if sort != nil{
			aCoder.encode(sort, forKey: "sort")
		}
		if status != nil{
			aCoder.encode(status, forKey: "status")
		}
		if supplement != nil{
			aCoder.encode(supplement, forKey: "supplement")
		}
		if updateTime != nil{
			aCoder.encode(updateTime, forKey: "updateTime")
		}
		if updateUser != nil{
			aCoder.encode(updateUser, forKey: "updateUser")
		}
		if version != nil{
			aCoder.encode(version, forKey: "version")
		}
		if zhName != nil{
			aCoder.encode(zhName, forKey: "zhName")
		}

	}

}
